#ifndef __B276F9E3_DB5D_4e9a_850C_D968765095FB__
#define __B276F9E3_DB5D_4e9a_850C_D968765095FB__

/////////////////////////////////////////////////////////////////////////////////////////
// 
namespace xos
{
    // 
    // time interface
    // 
    class i_time
    {
    public:
        virtual ~i_time(){}

    public:
        // 
        // calculate time difference. unit : 1 / 1000 second
        // 
        virtual int diffrent( i_time * pLastTime, xos_u32 * lpulDif ) = 0;

        // 
        // get time details
        // 
        virtual int get_milli_second() = 0;
        virtual int get_year() = 0;
        virtual int get_month() = 0;
        virtual int get_day() = 0;
        virtual int get_hour() = 0;
        virtual int get_minute() = 0;
        virtual int get_second() = 0;

        // 
        // update time
        // 
        virtual int get_time() = 0;

        // 
        // release
        // 
        virtual int release() = 0;
    };
}

#endif // __B276F9E3_DB5D_4e9a_850C_D968765095FB__
